package com.huafeng.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.huafeng.model.base.Result;
import com.huafeng.model.entity.SysUser;
import com.huafeng.model.vo.LoginVo;
import com.huafeng.model.vo.SysUserQueryVo;

/**
 * @author 花风
 * @date 2023/8/16 18:13
 * @Description SysUserService
 */
public interface SysUserService extends IService<SysUser> {
    /**
     * 分页条件查询用户信息
     * @param sysUserQueryVo 分页条件查询用户对象
     * @return 用户信息
     */
    Result queryUserByPage(SysUserQueryVo sysUserQueryVo);

    /**
     * 更新用户状态
     * @param id 用户id
     * @param status 更新后的用户状态
     * @return 更新结果
     */
    Result updateStatus(Long id, Integer status);

    /**
     * 用户登录
     * @param loginVo 登录对象
     * @return 根据用户信息生成的token
     */
    Result login(LoginVo loginVo);

    /**
     * 根据userId获取用户信息信息
     * @param userId 用户id
     * @return 用户相关信息
     */
    Result info(Long userId);

    /**
     * 新增用户
     * @param sysUser 用户信息
     * @return 新增结果
     */
    Result saveUser(SysUser sysUser);
}
